package com.itheima.crawler;


import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import java.net.URLEncoder;

/**
 * 使用jsoup 爬数据 保存数据
 */
public class JsoupZCrawlerDemo {
    public static void main(String[] args) throws Exception {
        String tempStr = "国内";
        String encode = URLEncoder.encode(tempStr, "utf-8");
        System.out.println(encode);
        //网站的地址
        Document document = Jsoup.connect("http://www.jinmalvyou.com/search/index/view_type/1/keyword/" + tempStr + "/p/1.html").get();

        //数据获得部分
        Elements allLiElements = document.select(".rl-b2 .rl-b-li");//获得第一页所有的li

        //获得尾页
        Element endElement = document.select(".page .end").first();
        //System.out.println(endElement);
        //获得超链接地址
        String endHref= endElement.attr("href");
        //System.out.println(endHref);
        //截取字符串 获得总页码
        //参数1: 开始索引  如果只有一个参数 表示从开始索引 截取到最后  含头
        //参数2: 结束的索引 不含尾
        String endPage = endHref.substring(  endHref.lastIndexOf("/")+1 ,endHref.lastIndexOf(".")    );
        System.out.println(endPage);

        //开始遍历数据 每一页都有一堆的li
        for(int i = 1 ; i < Integer.valueOf(endPage) ; i++){
            //加载数据
            //第一页不需要拿li  因为在加载第一页代码的时候 就已经获得  从第二页开始 每次都获得
            if(i>1){
                //m每一次获得重新覆盖document
                document = Jsoup.connect("http://www.jinmalvyou.com/search/index/view_type/1/keyword/" + tempStr + "/p/"+i+".html").get();
                //第二次加载 document新的  而li也是新的
                allLiElements = document.select(".rl-b2 .rl-b-li");//获得第二页以后所有的li
            }
            System.out.println("-------------第"+i+"页开始-------------------");
            //遍历数据
            for (Element curLiElement : allLiElements) { //current 当前的li元素
                //li对象
                //获得名称
                Elements aElement = curLiElement.select(".pro-title a");//获得rname的a标签
                String rname = aElement.text();
                System.out.println("保存数据成功");

            }
            System.out.println("-------------第"+i+"页结束-------------------");
        }

    }
}
